The introduction of extensible markup language (XML) and the extensible stylesheet language (XSL) specifications has provided an easy way to transform documents between various formats. This functionality has been included in web development frameworks, giving them the ability to automatically transform an XML document into a document with a different format, such as hypertext markup language (HTML) or extensible hypertext markup language (XHTML), integrating the original data with graphic layout and user interface components. The XSL specifications are based on special constructs called templates that match a single element or a set of similar elements and rewrite them and their content based on instructions defined in the template.
Unfortunately, there is currently no effective way to define actions to take, based on attributes of a hypertext transfer protocol (HTTP) request, or otherwise to alter or control the flow of a web application and/or transaction processing the HTTP request. Attributes of the HTTP request can include HTTP header values and/or names of query or post parameters that correspond with web page user interface functionality, such as a submit or purchase button, for example. While XSL has been utilized to transform the format of web content provided in response to an HTTP request resulting from engagement with such user interface functionality, there is no effective method or device that is capable of manipulating an HTTP request based on the engaged functionality, on the type of request, or on any other attribute of the request, in order to communicate with a web application or otherwise affect the flow and/or processing of the request.